#pragma once
#include <QString>
#include "json_trans.h"



namespace unstackplate {
	struct SkuInfo {
		QString skuNo;
		float l;
		float w;
		float h;
		float kg;
		void clear()
		{
			skuNo.clear();
			l = 0.0f;
			w = 0.0f;
			h = 0.0f;
			kg = 0.0f;
		}
	};

	struct StackTypeInfo {
		int type;
		QString name;
		int ceng;
		int max;
		void clear()
		{
			type = 0;
			name.clear();
			ceng = 0;
			max = 0;
		}
	};

	struct PlateState {
		bool plate;	// 托盘是否到位
		int num;	// 物料数量
		SkuInfo sku;
		StackTypeInfo stack;
		void clear()
		{
			plate = false;
			num = 0;
			sku.clear();
			stack.clear();
		}
	};

	struct PlateInfo {
		QString id;
		int alg;	// 算法指针
		PlateState state;
	};

	structJ(ArriveInfo,
		mapping(QString, taskId);
	mapping(int, type);		// 1：货物 2：拆垛托盘 3：码垛托盘 4：托盘垛
	mapping(QString, boxline);
	mapping(QString, stackPlace);
	prop(&taskId, &type, &boxline, &stackPlace);
	);

}
